package com.xiaoquan.common.to.es;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @authro dxq
 * @date 2021年06月21日 17:19
 */
@Data
public class SkuEsModel {

    private Long skuId;

    private Long spuId;

    /**
     * 商品标题  用来做全文检索
     * "skuTitle":{
     *    "type":"text" 可以被全文检索
     * }
     */
    private String skuTitle;

    /**
     * 商品价格
     */
    private BigDecimal skuPrice;

    /**
     * 商品图片
     */
    private String skuImg;

    /**
     * 商品销量
     */
    private Long saleCount;

    /**
     * 是否拥有库存
     *  “hasStock”：{
     *      "type": "boolean"  表示 只要查看库存是否有 就可以了
     *  }
     */
    private Boolean hasStock;

    /**
     * 热度评分
     */
    private Long hotScore;

    /**
     *  品牌Id
     */
    private Long brandId;

    /**
     *  分类Id
     */
    private Long catalogId;

    /**
     * 品牌名字
     */
    private String brandName;

    /**
     * 品牌图片
     * es: "brandImg":{
     *     "type": "keyword",       冗余存储的属性 都要表上下面两个属性
     *     "index": false, 表示这个属性不可用来被检索，查询的时候可以带
     *     "doc_values":false 表示这个属性不要聚合分析的操作
     * }
     */
    private String brandImg;

    /**
     *  分类名称
     */
    private String catalogName;

    /**
     * 所有商品规格属性信息
     * “attrs”：{
     *     “type”: "nested" 嵌入式的  不用这个属性检索就会出现一些问题 --> 扁平式处理
     * }
     */
    private List<Attrs> attrs;

    @Data
    public static class Attrs {

        private Long attrId;

        private String attrName;

        private String attrValue;

    }
}
